package com.lekang.le.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lekang.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lekang.common.annotation.Excel;
import com.lekang.common.core.domain.BaseEntity;

/**
 * 退款记录对象 refund_record
 * 
 * @author yyh
 * @date 2025-10-14
 */
public class RefundRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID")
    private Long id;

    private OrderManagement orderManagement;

    /** 退款编号 */
    @Excel(name = "退款编号")
    private String refundNo;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNo;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long applicant;
    private String applicationName;

    public String getApplicationName() {
        return applicationName;
    }

    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }

    private SysUser sysUser;

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationTime;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 退款订单状态 */
    @Excel(name = "退款订单状态")
    private String refundOrderStatus;

    /** 退款状态 */
    @Excel(name = "退款状态")
    private String refundStatus;

    /** 退款原因 */
    private String refundReason;

    /** 退款渠道 */
    private String refundChannel;

    /** 退款方式 */
    private String refundMethod;

    /** 失败状态码 */
    private String failureStatusCode;

    /** 失败原因 */
    private String failureReason;

    /** 额外字段1 */
    private String extraField1;

    /** 额外字段2 */
    private String extraField2;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setRefundNo(String refundNo) 
    {
        this.refundNo = refundNo;
    }

    public String getRefundNo() 
    {
        return refundNo;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }

    public void setApplicant(Long applicant) 
    {
        this.applicant = applicant;
    }

    public Long getApplicant() 
    {
        return applicant;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }

    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setRefundTime(Date refundTime) 
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() 
    {
        return refundTime;
    }

    public void setRefundOrderStatus(String refundOrderStatus) 
    {
        this.refundOrderStatus = refundOrderStatus;
    }

    public String getRefundOrderStatus() 
    {
        return refundOrderStatus;
    }

    public void setRefundStatus(String refundStatus) 
    {
        this.refundStatus = refundStatus;
    }

    public String getRefundStatus() 
    {
        return refundStatus;
    }

    public void setRefundReason(String refundReason) 
    {
        this.refundReason = refundReason;
    }

    public String getRefundReason() 
    {
        return refundReason;
    }

    public void setRefundChannel(String refundChannel) 
    {
        this.refundChannel = refundChannel;
    }

    public String getRefundChannel() 
    {
        return refundChannel;
    }

    public void setRefundMethod(String refundMethod) 
    {
        this.refundMethod = refundMethod;
    }

    public String getRefundMethod() 
    {
        return refundMethod;
    }

    public void setFailureStatusCode(String failureStatusCode) 
    {
        this.failureStatusCode = failureStatusCode;
    }

    public String getFailureStatusCode() 
    {
        return failureStatusCode;
    }

    public void setFailureReason(String failureReason) 
    {
        this.failureReason = failureReason;
    }

    public String getFailureReason() 
    {
        return failureReason;
    }

    public void setExtraField1(String extraField1) 
    {
        this.extraField1 = extraField1;
    }

    public String getExtraField1() 
    {
        return extraField1;
    }

    public void setExtraField2(String extraField2) 
    {
        this.extraField2 = extraField2;
    }

    public String getExtraField2() 
    {
        return extraField2;
    }

    public OrderManagement getOrderManagement() {
        return orderManagement;
    }

    public void setOrderManagement(OrderManagement orderManagement) {
        this.orderManagement = orderManagement;
    }

    @Override
    public String toString() {
        return "RefundRecord{" +
                "id=" + id +
                ", orderManagement=" + orderManagement +
                ", refundNo='" + refundNo + '\'' +
                ", orderNo='" + orderNo + '\'' +
                ", refundAmount=" + refundAmount +
                ", applicant=" + applicant +
                ", applicationName='" + applicationName + '\'' +
                ", sysUser=" + sysUser +
                ", applicationTime=" + applicationTime +
                ", refundTime=" + refundTime +
                ", refundOrderStatus='" + refundOrderStatus + '\'' +
                ", refundStatus='" + refundStatus + '\'' +
                ", refundReason='" + refundReason + '\'' +
                ", refundChannel='" + refundChannel + '\'' +
                ", refundMethod='" + refundMethod + '\'' +
                ", failureStatusCode='" + failureStatusCode + '\'' +
                ", failureReason='" + failureReason + '\'' +
                ", extraField1='" + extraField1 + '\'' +
                ", extraField2='" + extraField2 + '\'' +
                '}';
    }
}
